// #ifndef VUE3
import Vue from 'vue'
import App from './App'
// 在Vue 2模式下导入并配置$http
import {
    $http
} from '@escook/request-miniprogram'
import store from '@/store/store.js'

Vue.config.productionTip = false

App.mpType = 'app'

// 配置$http
uni.$http = $http

$http.baseUrl = 'https://api-hmugo-web.itheima.net'

// 请求拦截器
$http.beforeRequest = function (options) {
    uni.showLoading({
        title: '数据加载中...',
    })

    // 判断当前是否属于有权限的接口
    if (options.url.indexOf('/my') !== -1) {
        options.header = {
            // 注意：Authorization 之前有一个空格
            Authorization: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo'
        }

    }

}

// 响应拦截器
$http.afterRequest = function () {
    uni.hideLoading()
}

// 封装弹框的方法
uni.$showMsg = function (title = '请求数据失败', duration = 1500) {
    uni.showToast({
        title: title,
        duration,
        icon: 'none'
    })
}

const app = new Vue({
    ...App,
    store
})
app.$mount()
// #endif



// #ifdef VUE3
import {
    createSSRApp
} from 'vue'
import App from './App.vue'
// 在Vue 3模式下也导入并配置$http
import {
    $http
} from '@escook/request-miniprogram'
// 导入store
import store from '@/store/store.js'

uni.$http = $http

$http.baseUrl = 'https://api-hmugo-web.itheima.net'
// 请求拦截器
$http.beforeRequest = function (options) {
    uni.showLoading({
        title: '数据加载中...',
    })
    
    // 判断当前是否属于有权限的接口
    if (options.url.indexOf('/my') !== -1) {
        options.header = {
            // 注意：Authorization 之前有一个空格
            Authorization: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo'
        }
    }
}
// 响应拦截器
$http.afterRequest = function () {
    uni.hideLoading()
}

// 封装弹框的方法
uni.$showMsg = function (title = '请求数据失败', duration = 1500) {
    uni.showToast({
        title: title,
        duration,
        icon: 'none'
    })
}
export function createApp() {
    const app = createSSRApp(App)
    // 使用store
    app.use(store)
    return {
        app
    }
}
// #endif